import java.awt.Color;
import java.awt.Font;

/**
 * formColors.java - This class contains pseudo profiles to change the colors of the
 * formTable and valTable to change up the display a bit.
 *   
 * @author Marc Vandehey, Bryan Gago
 */
public class formColors {
	
	static Boolean isShaded = true;
	static Boolean isSelected = false;
	static Color shading;
	static Color background;
	static Color error;
	static Color selection;
	static Color grid;
	static Color foreground;
	static Color errorFg;
	static Color selectFg;
	static Color mouseClicked;
	static Color mouseHover;
	static Color noMouse;
	static Font errorFont;
	static Font normalFont;
	static Font selectFont;
	/**
	 * Sets up the tables with the Default Profile for the Spreadsheet
	 * 
	 * @return VOID
	 */
	public static void defaultProfile()
	{
		shading = Color.getHSBColor(0.0f, 0.0f, 0.9f);
		foreground = Color.BLACK;
		background = Color.WHITE;
		errorFg = foreground;
		error = Color.getHSBColor(1.0f, 1.0f, 1.0f);
		selection = Color.getHSBColor(0.435f, 1.0f, 0.594f);
		grid = Color.GRAY;
		normalFont = new Font("sansserif", Font.PLAIN, 12);
		errorFont = normalFont;
		selectFont = new Font("sansserif", Font.BOLD, 12);
		selectFg = Color.WHITE;
		mouseClicked =Color.red;
		mouseHover = Color.blue;
		noMouse = Color.black;
	}
	/**
	 * Sets up the tables to simulate the colors of a Linux Console
	 * 
	 * @return VOID
	 */
	public static void consoleProfile()
	{
		shading = Color.getHSBColor(0.0f, 0.0f, 0.142f);
		foreground = Color.GREEN;
		background = Color.BLACK;
		error = Color.getHSBColor(0.0f, 0.0f, 0.359f);
		errorFg = Color.white;
		selection = Color.BLUE;
		grid = Color.GREEN;
		normalFont = new Font("monospaced", Font.BOLD, 12);
		errorFont = normalFont;
		selectFont = normalFont;
		selectFg = Color.white;
		mouseClicked =Color.GREEN;
		mouseHover = Color.BLUE;
		noMouse = Color.black;
	}
	/**
	 * Sets up the tables to different shades of Red
	 * 
	 * @return VOID
	 */
	public static void valentinesProfile()
	{
		shading = Color.getHSBColor(0.009f, 0.484f, 1.0f);
		foreground = Color.WHITE;
		background = Color.getHSBColor(0.0f, 1.0f, 1.0f);
		error = Color.getHSBColor(0.0f, 1.0f, 0.5f);
		errorFg = Color.WHITE;
		selection = Color.getHSBColor(0.869f, 0.989f, 1.0f);
		grid = Color.BLACK;
		normalFont = new Font("serif", Font.BOLD, 12);
		errorFont = normalFont;
		selectFont = normalFont;
		selectFg = Color.BLACK;
		mouseClicked =Color.PINK;
		mouseHover = Color.getHSBColor(0.0f, 0.333f, 1.0f);
		noMouse = Color.RED;
	}
	/**
	 * Sets up the tables to simulate the colors of a Watermelon
	 * 
	 * @return VOID
	 */
	public static void watermelonProfile()
	{
		shading = Color.getHSBColor(0.418f, 1.0f, 0.596f);
		foreground = Color.BLACK;
		background = Color.getHSBColor(0.418f, 1.0f, 0.782f);
		error = Color.GREEN;
		errorFg = Color.getHSBColor(0.148f, 0.918f, 0.536f);
		selection = Color.getHSBColor(0.0f, 0.333f, 1.0f);
		grid = Color.WHITE;
		normalFont = new Font("monospaced", Font.BOLD, 12);
		errorFont = normalFont;
		selectFont = normalFont;
		selectFg = Color.BLACK;
		mouseClicked = Color.getHSBColor(0.418f, 1.0f, 0.596f);
		mouseHover = Color.GREEN;
		noMouse = Color.getHSBColor(0.418f, 1.0f, 0.782f);
	}
	/**
	 * Sets up the tables to simulate the colors of Halloween
	 * 
	 * @return VOID
	 */
	public static void halloweenProfile()
	{
		shading = Color.getHSBColor(0.0f, 0.0f, 0.146f);
		foreground = Color.ORANGE;
		background = Color.getHSBColor(0.0f, 0.0f, 0.0f);
		error = Color.RED;
		errorFg = Color.getHSBColor(0.0f, 0.0f, 0.0f);
		selection = Color.getHSBColor(0.087f, 0.792f, 1.0f);
		grid = Color.getHSBColor(0.111f, 1.0f, 0.505f);
		normalFont = new Font("monospaced", Font.BOLD, 12);
		errorFont = normalFont;
		selectFont = normalFont;
		selectFg = Color.BLACK;
		mouseClicked =Color.ORANGE;
		mouseHover = Color.RED;
		noMouse = Color.getHSBColor(0.111f, 1.0f, 0.505f);
	}
	/**
	 * Allows access for defaultProfile()
	 * 
	 * @return VOID
	 */
	public static void setDefaultProfile()
	{
		defaultProfile();
	}
	/**
	 * Allows access for ConsoleProfile()
	 * 
	 * @return VOID
	 */
	public static void setConsoleProfile()
	{
		consoleProfile();
	}
	/**
	 * Allows access for ValentinesProfile()
	 * 
	 * @return VOID
	 */
	public static void setValentinesProfile()
	{
		valentinesProfile();
	}
	/**
	 * Allows access for WatermelonProfile()
	 * 
	 * @return VOID
	 */
	public static void setWatermelonProfile()
	{
		watermelonProfile();
	}
	/**
	 * Allows access for HalloweenProfile()
	 * 
	 * @return VOID
	 */
	public static void setHalloweenProfile()
	{
		halloweenProfile();
	}
}